all: main.o nfa.o namestorage.o fa.o dfa.o regex.o
	g++ -g main.o nfa.o namestorage.o fa.o dfa.o regex.o -o ./main.out -Wall

main: main.o nfa.o namestorage.o fa.o dfa.o regex.o
	g++ -g main.o nfa.o namestorage.o fa.o dfa.o regex.o -o ./main.out -Wall

main.o: main.cpp nfa.h namestorage.h
	g++ -g -c main.cpp -Wall

nfa.o: nfa.cpp nfa.h namestorage.h
	g++ -g -c nfa.cpp -Wall

namestorage.o: namestorage.cpp nfa.h namestorage.h
	g++ -g -c namestorage.cpp -Wall

dfa.o: dfa.cpp dfa.h
	g++ -g -c dfa.cpp -Wall

fa.o: fa.cpp fa.h
	g++ -g -c fa.cpp -Wall

regex.o: regex.cpp regex.h
	g++ -g -c regex.cpp -Wall